🔖 Чек-лист: как запускать Python в продакшене✅ Управление зависимостями✅ Используйте
poetry
или
uv
(очень быстрый, но пока нестабилен)
✅ Настройте автообновление через
`dependabot
`✅ Проверяйте зависимости на уязвимости с помощью
pip-audit
и
deptry
✅ Качество кода✅ Используйте
`ruff
` как основной линтер (вместо
flake8
,
pylint
,
autoflake
,
isort
)
✅ Добавьте проверку типов через
pyright
или
flake8-annotations
✅ Настройте
`pre-commit` хуки — это поможет избежать ошибок ещё до коммита
✅ Безопасность✅ Используйте
GitGuardian
,
Gitleaks
или
Noseyparker
для защиты от утечек секретов
✅ Проверяйте лицензии зависимостей:
licensecheck
(например, избегайте GPL-библиотек)
✅ Архитектура и поддержка✅ Для веб-сервисов используйте FastAPI + Gunicorn — производительность выше Flask в 3 раза
✅ Используйте
dataclass
или
pydantic
для описания моделей данных
✅ Избегайте
threading
, используйте asyncio или мультипроцессинг
✅ Docker и деплой✅ Используйте многоступенчатые Docker-сборки
✅ Избегайте
alpine
-образов Python — могут возникнуть проблемы с
glibc
✅ Если не нужен GPU — устанавливайте CPU-only версии библиотек (например, PyTorch)
✅ Скачивайте внешние зависимости (модели
spacy
,
transformers
) на этапе сборки
✅ Задайте переменные окружения:
ENV TRANSFORMERS_OFFLINE=1
ENV HF_HUB_OFFLINE=1
✅ Компилируйте
.pyc
во время сборки для ускорения старта контейнера
✅ Запускайте контейнеры от имени не-root пользователя:
RUN groupadd -r appuser && useradd -r -g appuser appuser
USER appuser
Библиотека питониста #буст